package com.mdb.open.trade.feign.dto.cus;

import com.mdb.bc.api.data.DataObjectBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author : yu.zunlong
 * @description : 客户信息保存
 * @date : 2019/11/12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(description = "客户信息保存")
public class CustomerUpdateDto extends DataObjectBase {

	private static final long serialVersionUID = -5914478678806914846L;
	/**
	 * 客户基础信息
	 */
	@NotNull
	@ApiModelProperty("客户基础信息")
	CustBaseInfoDto baseInfo;

	@ApiModelProperty("香港公司扩展信息")
	CustHkCompanyInfoExtendDto hkCompanyInfoExtendDto;

	/**
	 * 客户联系人信息
	 */
	@ApiModelProperty("客户联系人信息")
	List<CustContactDto> contracts;

	/**
	 * 客户附件信息
	 */
	@ApiModelProperty("客户附件信息")
	List<CustFileInfoDto> files;

	/**
	 * 客户财务报表
	 */
	@ApiModelProperty("客户财务报表")
	List<CustFinancialReportDto> financialReports;

	/**
	 * 客户号
	 */
	@NotBlank
	@ApiModelProperty("客户号")
	private String customerCode;


	@ApiModelProperty("父级客户号")
	private String parentCustomerCode;

	@NotBlank
	private String userId;

	@NotBlank
	private String userName;
}
